Information transmitted in a wireless communication channel is usually encoded by a channel coding scheme such as Turbo code, Polar code and low density parity check (LDPC) code. LDPC code is a type of linear block code characterized by a sparse check matrix (referred to as a LDPC matrix), and has a flexible structure and low decoding complexity. Because a partially parallel iterative decoding algorithm can be used in decoding an LDPC coded codeword, the LDPC code has a higher throughput than a conventional Turbo code. The LDPC code may be used as an error correction code in a communication system, so as to improve reliability and power utilization in channel-based transmission. The LDPC code may also be widely used in spatial communications, optical fiber communications, personal communication systems, asymmetrical digital subscriber loop (ADSL), magnetic recording devices, and the like. Currently, the LDPC code has been considered as one of channel coding schemes in the fifth generation (5G) mobile communication systems.
In actual applications, LDPC matrices having different special structures may be used. An LDPC matrix H, having a special structure, may be obtained by expanding (also called lifting) an LDPC base matrix having a quasi cycle (QC) structure (H is referred to as a QC-LDPC matrix). A coding scheme using QC-LDPC matrices is suitable for hardware with a high degree of parallelism, and provides a higher throughput. The QC-LDPC matrix may be designed to be suitable for channel coding.